3.2 Advanced configuration
3.2.1 The xwork.xml

3.2.2 Namespaces and packages
<xwork>
<include file="webwork-default.xml"/>
<include file="config-browser.xml"/>
<package name="default" extends="webwork-default">
<interceptors>
<interceptor name="auth" class="org.hibernate.auction.web.interceptors.AuthenticationInterceptor"/>
</interceptors>
<global-results>
<result name="login" type="redirect">/login!default.action</result>
</global-results>
</package>
<package name="public" extends="default">
<default-interceptor-ref name="completeStack"/>
<!-- public facing actions -->
</package>
<package name="secure" extends="default" namespace="/secure">
<interceptor-stack name="default">
<interceptor-ref name="auth"/>
<interceptor-ref name="completeStack"/>
</interceptor-stack>
<default-interceptor-ref name="default"/>
<!-- protected actions -->
</package>
</xwork>
Extending packages
- WebWork package 설정은 Java package와 유사하다.
- 각 패키지에는 actions, results, and interceptors를 정의 할 수 있다.
- 다른 패키지를 상속받으면 모든 정의를 사용할수 있다.
Mapping namespaces
- package에 namespace를 설정 할 수 있다. 설정 안하면 namespace는 "" 로 설정 됨.
- namespace="/secure" 로 설정하면 /secure/action명으로 호출함.
- /secure"에 만약 action이 존재하지 않으면 디폴트인 /에서 action 이름을 찾는다.
3.2.3 Componentization using the include tag
- 여러개의 xml 파일을 include 하여 사용 할 수 있다.
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml"/>
<include file="config-browser.xml"/>
<package name="default" extends="webwork-default">
<interceptors>
<interceptor name="auth" class="org.hibernate.auction.web.interceptors.AuthenticationInterceptor"/>
</interceptors>
<global-results>
<result name="login" type="redirect">/login!default.action</result>
<result name="invalid.token">/invalidToken.jsp</result>
</global-results>
</package>
<include file="xwork-public.xml"/>
<include file="xwork-secure.xml"/>
</xwork>
문서에 대하여